単一の switch-case にて複数 case を associated value と一緒にパターンマッチさせる

enum Something {
  case one(Int)
  case two(Int)
  case three(Int)
}

switch something {
case one(let number), two(let number):
  print("one or two: \(number)")

case let three(number):
  print("three: \(number)")
}

この時、 associated value の型と変数名が一致していれば case 内で利用可能になる。

参考: ios - swift enum get the associated value of multiple case with same parameters in single switch-case - Stack Overflow

出来なかったやつ

let は必要。参考: Patterns#Value-Binding Pattern - Documentation- Swift.org

switch something {
case let one(number), two(number):
  print("one or two: \(number)")

case let three(number):
  print("three: \(number)")
}

Swift